196 research outputs found

    Using formal models to design user interfaces a case study

    Get PDF
    The use of formal models for user interface design can provide a number of benefits. It can help to ensure consistency across designs for multiple platforms, prove properties such as reachability and completeness and, perhaps most importantly, can help incorporate the user interface design process into a larger, formally-based, software development process. Often, descriptions of such models and examples are presented in isolation from real-world practice in order to focus on particular benefits, small focused examples or the general methodology. This paper presents a case study of developing the user interface to a new software application using a particular pair of formal models, presentation models and presentation interaction models. The aim of this study was to practically apply the use of formal models to the design process of a UI for a new software application. We wanted to determine how easy it would be to integrate such models into our usual development process and to find out what the benefits, and difficulties, of using such models were. We will show how we used the formal models within a user-centred design process, discuss what effect they had on this process and explain what benefits we perceived from their use

    Refinement for user interface designs

    Get PDF
    Formal approaches to software development require that we correctly describe (or specify) systems in order to prove properties about our proposed solution prior to building it. We must then follow a rigorous process to transform our specification into an implementation to ensure that the properties we have proved are retained. Different transformation, or refinement, methods exist for different formal methods, but they all seek to ensure that we can guide the transformation in a way which preserves the desired properties of the system. Refinement methods also allow us to subsequently compare two systems to see if a refinement relation exists between the two. When we design and build the user interfaces of our systems we are similarly keen to ensure that they have certain properties before we build them. For example, do they satisfy the requirements of the user? Are they designed with known good design principles and usability considerations in mind? Are they correct in terms of the overall system specification? However, when we come to implement our interface designs we do not have a defined process to follow which ensures that we maintain these properties as we transform the design into code. Instead, we rely on our judgement and belief that we are doing the right thing and subsequent user testing to ensure that our final solution remains useable and satisfactory. We suggest an alternative approach, which is to define a refinement process for user interfaces which will allow us to maintain the same rigorous standards we apply to the rest of the system when we implement our user interface designs

    A tale of two studies

    Get PDF
    Running user evaluation studies is a useful way of getting feedback on partially or fully implemented software systems. Unlike hypothesis-based testing (where specific design decisions can be tested or comparisons made between design choices) the aim is to find as many problems (both usability and functional) as possible prior to implementation or release. It is particularly useful in small-scale development projects that may lack the resources and expertise for other types of usability testing. Developing a user-study that successfully and efficiently performs this task is not always straightforward however. It may not be obvious how to decide what the participants should be asked to do in order to explore as many parts of the systemā€™s interface as possible. In addition, ad hoc approaches to such study development may mean the testing is not easily repeatable on subsequent implementations or updates, and also that particular areas of the software may not be evaluated at all. In this paper we describe two (very different) approaches to designing an evaluation study for the same piece of software and discuss both the approaches taken, the differing results found and our comments on both of these

    UI-Design driven model-based testing

    Get PDF
    Testing interactive systems is notoriously difficult. Not only do we need to ensure that the functionality of the developed system is correct with respect to the requirements and specifications, we also need to ensure that the user interface to the system is correct (enables a user to access the functionality correctly) and is usable. These different requirements of interactive system testing are not easily combined within a single testing strategy. We investigate the use of models of interactive systems, which have been derived from design artefacts, as the basis for generating tests for an implemented system. We give a model-based method for testing interactive systems which has low overhead in terms of the models required and which enables testing of UI and system functionality from the perspective of user interaction

    Formal Models and Refinement for Graphical User Interface Design

    Get PDF
    Formal approaches to software development require that we correctly describe (or specify) systems in order to prove properties about our proposed solution prior to building it. We must then follow a rigorous process to transform our specification into an implementation to ensure that the properties we have proved are retained. When we design and build the user interfaces of our systems we are similarly keen to ensure that they have certain properties before we build them. For example, do they satisfy the requirements of the user? Are they designed with known good design principles and usability considerations in mind? User-centred design approaches, which incorporate many different techniques which we may consider as informal, seek to consider these issues so that the UIs we build are designed around the needs and capabilities of real users. Both formal methods and user-centred design are important and beneficial in the development of underlying system functionality and user interfaces respectively. Given this we would like to be able to use both approaches in one integrated software development process. Their differences, however, make this a challenging objective. In this thesis we present a solution this problem by describing models and techniques which provide a bridge between the existing work of user-centred design practitioners and formal methods practitioners enabling us to incorporate (representations of) informal design artefacts into a formal software development process. We then use these models as the basis for a refinement theory for user interfaces which allows interface designers to retain their informal design methods whilst providing an underlying theory grounded in the trace refinement theory of the Microcharts language

    Designing a mobile augmented memory system for people with traumatic brain injuries

    Get PDF
    Augmented memory systems help people remember events in their lives. Individuals with Traumatic Brain Injury (TBI) often have memory impairments. We conducted a user study to learn about strategies individuals with TBI use to remember events in their lives. We explored what characteristics individuals with TBI expect of an augmented memory system. We then investigated these aspects in an initial mobile app design, and propose here a concept for a rehearsal application that addresses the issues found in our studies

    Eliciting usage contexts of safety-critical medical devices

    Get PDF
    This position paper outlines our approach to improve the usage choice of suitable devices in different health care environments (contexts). Safety-critical medical devices are presumed to have undergone a thorough (user-centred) design process to optimize the device for the intended purpose, user group and environment. However, in real-life health care scenarios, actual usage may not reflect the original design parameters. We suggest the identification of further usage contexts for safety-critical medical devices through ethnographic and other studies, to assist better modelling of the challenges of different usage environments. In combination with system and interaction models, these context models can then be used for decision-support in choosing medical devices that are suitable for the intended environment

    A Coloured Petri Net approach to model and analyze safety-critical interactive systems

    Get PDF
    To gain confidence in safety-critical interactive systems, formal modelling and analysis plays a vital role. The aim of this paper is to use Coloured Petri Nets to model and analyze safety-critical interactive systems. We present a technique to construct a single Coloured Petri Net model of the user interface, interaction and functionality of safety-critical interactive systems and then analyze the achieved Coloured Petri Net model using a state space analysis method. There are several reasons for using Coloured Petri Nets. Coloured Petri Nets provides a graphical representation and hierarchical structuring mechanism, and a state space verification technique, which allows querying the state space to investigate behaviours of a system. There are several tools that supports Coloured Petri Nets including the CPN Tool which helps in building CPN models and allows simulation and analysis using state spaces. The technique to model and analyze safety-critical interactive systems is illustrated using a simplified infusion pump example

    Managing application-level QoS for IoT stream queries in hazardous outdoor environments

    Get PDF
    While most IoT projects focus on well-controlled environments, this paper focuses on IoT applications in the wild, i.e., rugged outdoor environments. Hazard warnings in outdoor monitoring solutions require reliable pattern detection mechanisms, while data may be streamed from a variety of sensors with intermittent communication. This paper introduces the Morepork system for managing application-level Quality of Service in stream queries for rugged IoT environments. It conceptually treats errors as first class citizens and quantifies the impact on application level. We present a proof of concept implementation, which uses real-world data from New Zealand forestry workers

    Using task models to understand the intersection of numeracy skills and technical competence with medical device design

    Get PDF
    Task models are used in many different ways throughout the design and development of interactive systems. When the interactive systems are safety critical, task models can play an important role in ensuring system behaviours are consistent with user requirements, which may help to prevent errors. While task models can be used to describe a userā€™s goals and the steps required to achieve that goal, to understand where user errors may occur we also need to consider the usersā€™ understanding of how to perform a task and how this relates to the system they are using. Our focus is on the use of medical devices such as syringe drivers and infusion pumps for intravenous medication, which forms a major part of hospital inpatient care throughout the world. While we might rely on software engineering and human factors techniques to ensure correctness of such devices, their use by medical personnel in practice includes other factors that are equally important. These include training medical personnel in the use of medical devices. Also numeracy education for medical staff to ensure that they are able to set up and perform the necessary calculations to convert prescribed medication into the appropriate values and measures for their delivery mechanisms. We have developed an approach that aims to bring together concepts of technology design (both functional correctness and usability concerns), numeracy and medication delivery competency. In order to do so we use task models as a common language that enables us to consider these different domains in a single way. We find that the ability to describe the two domains within a single process allows us to compare models of knowledge, tasks and use of devices, which can elicit potential mismatches and problems
    • ā€¦
    corecore